package com.zycfc.zsf.boot.mq.rabbitmq.retry;

import org.springframework.boot.context.properties.*;
import java.util.*;

@ConfigurationProperties(prefix = "zsf.boot.rabbitmq.retry")
public class RetryCacheProperties
{
    public static final String PREFIX = "zsf.boot.rabbitmq.retry";
    private boolean enabled;
    private List<String> excludeExchangeNames;
    private String localCachePath;
    private int retryInterval;
    private int overTime;
    private int persistentInterval;
    private int alarmCapacity;
    private int maxCapacity;
    
    public RetryCacheProperties() {
        this.enabled = false;
        this.localCachePath = "./rabbitmq-cache/";
        this.retryInterval = 60000;
        this.overTime = 3600000;
        this.persistentInterval = 1000;
        this.alarmCapacity = 300;
        this.maxCapacity = 1000;
    }
    
    public boolean isEnabled() {
        return this.enabled;
    }
    
    public List<String> getExcludeExchangeNames() {
        return this.excludeExchangeNames;
    }
    
    public String getLocalCachePath() {
        return this.localCachePath;
    }
    
    public int getRetryInterval() {
        return this.retryInterval;
    }
    
    public int getOverTime() {
        return this.overTime;
    }
    
    public int getPersistentInterval() {
        return this.persistentInterval;
    }
    
    public int getAlarmCapacity() {
        return this.alarmCapacity;
    }
    
    public int getMaxCapacity() {
        return this.maxCapacity;
    }
    
    public void setEnabled(final boolean enabled) {
        this.enabled = enabled;
    }
    
    public void setExcludeExchangeNames(final List<String> excludeExchangeNames) {
        this.excludeExchangeNames = excludeExchangeNames;
    }
    
    public void setLocalCachePath(final String localCachePath) {
        this.localCachePath = localCachePath;
    }
    
    public void setRetryInterval(final int retryInterval) {
        this.retryInterval = retryInterval;
    }
    
    public void setOverTime(final int overTime) {
        this.overTime = overTime;
    }
    
    public void setPersistentInterval(final int persistentInterval) {
        this.persistentInterval = persistentInterval;
    }
    
    public void setAlarmCapacity(final int alarmCapacity) {
        this.alarmCapacity = alarmCapacity;
    }
    
    public void setMaxCapacity(final int maxCapacity) {
        this.maxCapacity = maxCapacity;
    }
}
